package controlador;

import java.util.List;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import modelo.DaoSwingWorker;
import vista.InterfazGraficaCargarVentas;
import vista.VentanaIndependiente;

public class ControladorCargar<T> implements PropertyChangeListener 
{
	private DaoSwingWorker<T,Object> daoSwingWorker;
	private InterfazGraficaCargarVentas interfazGrafica;
	
	public ControladorCargar(List<T> lista,VentanaIndependiente ventana,DaoSwingWorker<T,Object> worker)
	{
	    daoSwingWorker= worker;
	    daoSwingWorker.inicializar(lista);
	    
	    daoSwingWorker.addPropertyChangeListener((PropertyChangeListener)this);
	    interfazGrafica= new InterfazGraficaCargarVentas(ventana);
	    
	    daoSwingWorker.execute();
	    interfazGrafica.visualizarVentana();
	    
	}
	@Override
	public void propertyChange(PropertyChangeEvent evt) {
		if (evt.getPropertyName().equalsIgnoreCase("progress"))
        {
             interfazGrafica.asignarValor((Integer) evt.getNewValue());
             if ((Integer)evt.getNewValue()==100)
             {
                 interfazGrafica.descargarMemoria();
             }
        }
		
	}

}
